iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Mobile Development

Android Studio初學系列 第 23

Android Studio初學 DAY23 RxJava

  • 分享至 

  • xImage
  •  

什麼是 RxJava?

RxJava 是由 Netflix 開發的庫,用於處理異步事件和數據流。它基於觀察者模式,允許您以響應式的方式編寫代碼。RxJava 提供了一種簡潔的方法來處理以下情況:

  • 異步任務:例如網絡請求、文件操作等。
  • 數據流:例如用戶界面中的事件流(點擊、滑動等)或傳感器數據流。
  • 多線程操作:輕鬆進行線程切換,而不需要手動管理線程。

RxJava 的核心概念包括:

  • Observables(可觀察對象):發出事件或數據的源頭。
  • Observers(觀察者):訂閱 Observables 並對它們發出的事件做出響應。
  • Operators(操作符):用於變換、過濾、組合 Observables 的方法。
  • Schedulers(調度器):控制事件流在哪個線程上執行。

添加依賴

    implementation 'io.reactivex.rxjava3:rxjava:3.1.5'
    implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'

主程式

Observable<Integer> observable = Observable.just(1, 2, 3, 4, 5); //創建Observable

//創建Observer
Observer<Integer> observer = new Observer<Integer>() {
    @Override
    public void onSubscribe(Disposable d) {
        // 訂閱時的操作
    }

    @Override
    public void onNext(Integer value) {
        // 處理接收到的數據
    }

    @Override
    public void onError(Throwable e) {
        // 處理錯誤
    }

    @Override
    public void onComplete() {
        // 完成後的操作
    }
};

訂閱observable

observable.subscribe(observer);

線程調度

observable.subscribeOn(Schedulers.io())
          .observeOn(AndroidSchedulers.mainThread())
          .subscribe(observer);

使用 observeOn 和 subscribeOn 操作符可以輕鬆地控制事件流在不同線程上執行,以避免主線程阻塞
今天介紹到這邊謝謝


上一篇
Android Studio初學 DAY22 理解 MVC、MVP 和 MVVM 架構模式
下一篇
Android Studio初學 DAY24 RxJava應用
系列文
Android Studio初學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言